using System;
using System.Collections.Generic;
using Medianamik.Core;
using Medianamik.UI.Lock;
using Telerik.Web.UI;

namespace Medianamik.UI.Web.MVP.View
{
    public interface IMedianamikGrid : IModuleView
    {
        IEnumerable<object> DataSource { set; }
        event EventHandler NodeDeleted;
        event EventHandler<GridPageSizeChangedEventArgs> PageSizeChanged;
        event EventHandler<GridPageChangedEventArgs> PageIndexChanged;
        event EventHandler<ActivationStatusChangedEventArgs> ActivationStatusChanged;
        event EventHandler<OrderChangedEventArgs> OrderChanged;
        event EventHandler<IdEventArgs> LockRequestFailed;
        event EventHandler<GridItemEventArgs> GridDataBound;
        event EventHandler<GridItemEventArgs> GridCreating;
        int PageSize { get; set; }
        int PageIndex { get; set; }
        bool AllowSorting { get; }
        bool AllowPaging { get; }
        int TotalCount { set; }
        string EditReturnUrl { get; set; }
        //string EditPageUrl { get; set; }
        LockInfoToolTip LockInfoTooltip { get; }
        void UpdateGrid();
    }
}